Field
Various features relate generally to mobile devices. More specifically, the invention relates to launching and rendering an application on a mobile device.
Background
Traditionally, systems have been developed to enable execution of applications on a mobile device for wireless and mobile applications. In some systems, one can execute applications on a remotely situated server, and use the mobile device as a mere output device rather than an execution environment. By so configuring, the mobile device can be adapted to handle a number of applications that may be running on a variety of application servers. For example, a browser program may be running on a first server, and an electronic mail application may be running on a second server, but the mobile device will be used as a common output device for both the applications. As a consequence, the mobile device can be treated as a thin client, with minimal need to handle complex applications locally. Accordingly, with a minimal need for additional software on the client device, any currently existing application may be accessed using this system.
In some situations, however, certain localized actions are performed on the mobile device as a result of a user action or inaction. Examples of these situations include the need to highlight a specified portion of the display area to indicate a user's selection of that portion of the display area. In such cases, there is deposited on the client device a small piece of code to handle these localized actions without the need to transmit an indication of the user's action to the server and wait for an instruction as to how the user's action should be handled. As a result, the amount of data transmitted from the mobile device to the server (and back) is somewhat reduced but still significant.
However, in the above situation the amount of data transmitted may still be too large in cases of small bandwidth or high data traffic and interaction with the server is still required. Additionally, the program execution is happening mainly on the server and not locally on the mobile device.
Therefore, there is a need to allow a program to receive data from a server in order to run the program locally on a mobile device by receiving a minimal amount of data at the mobile device that will allow users to access and execute programs with minimal delay and using minimal space on the mobile device.